package com.hghivln.erpwarehouse.system.common.exception;

import com.hghivln.erpwarehouse.system.common.lang.Result;
import org.apache.shiro.ShiroException;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理
 * RestControllerAdvice注解定义全局异常处理器 默认只会处理controller层抛出的异常
 * ExceptionHandler 表示针对性异常处理  用于绑定异常类（或者说我们需要catch住并处理的异常类，异常类可以自定义）
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    @ResponseStatus(HttpStatus.UNAUTHORIZED)
    @ExceptionHandler(value = ShiroException.class)
    public Result handler(ShiroException e) {
        return Result.NOT_PERMISSION;
    }
}
